#include "main.h"

/*
* Metodo grupo que nos va a permitir un mensaje de tipo BROADCAST
* Recibe la cabeza de la lista de clientes, y el mensaje que se va 
* a enviar
*/
int group(node *head,char *msg)
{
	int n; // entero para guardar el valor que retorna send
	FILE *fp;// un puntero a un archivo
	node *p;// un puntero a un nodo
	p=head->next; // se guarda el proximo nodo en la lista en p
	while(p!=NULL)// mientras no se acabe la lista
	{
		if(strcmp(p->user_name,"unname")!=0)//si el nombre de usuario de p es distinto a "unname"
		{
			n=send(p->sockfd,msg,strlen(msg),0);//envia el mensaje al socket del puntero p
			if(n<=0)// si es incorrecto
			{
				perror("send:");// imprime el error
				return (-1);// termina el metodo
			}
			if((fp=fopen(p->user_name,"a+"))==NULL)// si no se logra abrir el archivo
			{
				perror("open:");// se imprime el error
				return (-1);// termina el metodo
			}
			fputs(msg,fp); //si se enviar el mensaje, se escribe el mensaje en el archivo fp
			fclose(fp);// se cierra el archivo
		}
		p=p->next;// avanza al siguiente nodo
	}
	return 0;
}
